///////////////////////////////////////////////////////////////////// // "On the torsion of rational elliptic curves over sextic fields" // // Harris B. Daniels and Enrique González-Jiménez // ///////////////////////////////////////////////////////////////////// // 2/8/2018 - Magma 2.23 // Magma script related to Proposition 8 (t) //j3 is the j-map from X_0(3) to P1 taken from Zywina, On the possible images of the //mod l representations associated to elliptic curves over Q. //j5 is the j-map from X_{G_6} to P1 taken from Theorem 1.4 of Zywina, On the //possible images of the mod l representations associated to elliptic curves over Q. //The curve corresponds to the group 5B.4.1 in Sutherland notation. F := FunctionField(Rationals()); j3 := 27*(t+1)*(t+9)^3*t^-3; j5 := (t^4-12*t^3+14*t^2+12*t+1)^3*t^-5*(t^2-11*t-1)^-1; R:=PolynomialRing(Rationals(),2); g:=Numerator(Evaluate(j3,x)-Evaluate(j5,y)); assert IsIrreducible(g); C:=ProjectiveClosure(Curve(AffineSpace(R),g)); Genus(C); P :=C![0,1,0]; E, map := EllipticCurve(C,P); assert Rank(E) eq 0; assert CremonaReference(E) eq "15a3"; T,mp := TorsionSubgroup(E); assert #T eq 8; EPts := [mp(t) : t in T]; CPts := {@ @}; for p in EPts do CPts := CPts join RationalPoints(p @@ map); end for; /* Lastly we define the elliptic curves with a 5-isogeny over a quadratic and a point of order 3 over a cubic */ T3 := {@ Q[1] : Q in CPts | Q[3] ne 0 and Q[2] ne 0@}; //A3 and B3 taken from Theorem 1.2 in Zywina, On the possible images of //the mod l representations associated to elliptic curves over Q and give //the curves such that y^2 = x^3+ A3*x +B3 has a rational point of order 3. A3 := -3*(t+1)^3*(t+9); B3 := -2*(t+1)^4*(t^2-18*t-27); Pairs3 := {@ [Evaluate(A3,h),Evaluate(B3,h)] : h in T3 @}; E3s := [QuadraticTwist(EllipticCurve(pair), -3) : pair in Pairs3]; Crem3 := {@ CremonaReference(E) : E in E3s @}; assert Crem3 eq {@ "50a4", "450b3" @}; //Showing the each curve does not gain any points of order 3 over the 2-division field or points of order 2 over the 3-division field. for E in E3s do f2 := DivisionPolynomial(E,2); f3 := DivisionPolynomial(E,3); K2 := SplittingField(f2); K3 := SplittingField(f3); T2 := TorsionSubgroup(BaseChange(E,K2)); T3 := TorsionSubgroup(BaseChange(E,K3)); assert IsIsomorphic(T2,AbelianGroup([2,2])); assert IsIsomorphic(T3,AbelianGroup([3,3])); end for;